package exception;

import java.util.ArrayList;

import net.sf.json.JSONArray;

public class MultipleValidationErrors extends Exception {

	private static final long serialVersionUID = 1053916959568103478L;

	private ArrayList<String> errors;

	public MultipleValidationErrors(String msg) {
		errors = new ArrayList<String>();
		errors.add(msg);
	}

	public MultipleValidationErrors(ArrayList<String> msgs) {
		errors = msgs;
	}

	@Override
	public String getMessage() {
		String msgs = "";
		for (String eachMsg : errors) {
			msgs += eachMsg + ",";
		}

		// remove trailing comma
		int index = msgs.lastIndexOf(",");
		if (index != -1) {
			msgs = msgs.substring(0, index);
		}

		return msgs;
	}

	public JSONArray toJsonArray() {
		JSONArray msgs = new JSONArray();

		for (String eachMsg : errors) {
			msgs.add(eachMsg);
		}

		return msgs;
	}

	@Override
	public String toString() {
		return getMessage();
	}

	public boolean hasError() {
		return !errors.isEmpty();
	}

}
